package main

import (
	"fmt"
	"os"
)

func main() {
	// 创建一个新文件
	fileName := "./z_demo/demo_os_io_buifo/demo02/example.txt"
	file, err := os.Create(fileName)
	if err != nil {
		fmt.Println("Error creating file:", err)
		return
	}
	defer file.Close()

	// 写入一些内容到文件
	_, err = file.Write([]byte("Hello, World!"))
	if err != nil {
		fmt.Println("Error writing to file:", err)
		return
	}

	// 关闭文件后，使用 os.Chmod 修改文件权限为只读
	err = os.Chmod(fileName, 0444)
	if err != nil {
		fmt.Println("Error changing file permissions:", err)
		return
	}

	// 再次打开文件尝试写入内容（此时文件已经是只读权限，写入会失败）
	file, err = os.OpenFile(fileName, os.O_WRONLY, 0644)
	if err != nil {
		fmt.Println("Error opening file:", err)
		return
	}
	defer file.Close()

	_, err = file.Write([]byte("This write operation will fail!"))
	if err != nil {
		fmt.Println("Error writing to file:", err)
		return
	}
}
